package com.taiji.workOrder.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.taiji.common.annotation.Excel;
import com.taiji.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * 项目信息对象 project
 * 
 * @author taiji
 * @date 2023-02-26
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "Project", description = "项目信息对象")
public class Project extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @ApiModelProperty("主键编号")
    private String id;

    /** 项目代码 */
    @ApiModelProperty("项目代码")
    @Excel(name = "项目代码")
    private String code;

    /** 项目名称 */
    @ApiModelProperty("项目名称")
    @Excel(name = "项目名称")
    @NotNull(message = "项目名称不能为空")
    private String name;

    /** 项目令号 */
    @ApiModelProperty("项目令号")
    @Excel(name = "项目令号")
    private String orderNum;

    /** 项目状态 */
    @ApiModelProperty("项目状态")
    @Excel(name = "项目状态")
    @NotNull(message = "项目状态不能为空")
    private String status;

    /**
     * 回款状态
     */
    @ApiModelProperty("回款状态")
    @Excel(name = "回款状态")
    private String receipt;

    /** 项目开始时间 */
    @ApiModelProperty("项目开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 项目结束时间 */
    @ApiModelProperty("项目结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /**
     * 项目团队
     */
    @ApiModelProperty("项目团队")
    private List<Long> userProjectList;

    /**
     * 项目token
     */
    @ApiModelProperty("项目token")
    @Excel(name = "项目token")
    private String token;


}
